package com.example.flow.flow;

import java.util.Arrays;

/**
 * 默认审批人类型
 * @author tangaq
 * 2023/5/23
 */
public enum EnumDefaultApproveUserType {
    // 审批人类型 1--api自定义，2--申请人选择，3--上一审批人选择，4--模板指定，5--主管
    SYSTEM(0, "系统默认"),
    THIRD_API(1, "api自定义"),
    APPLY_CHOOSE(2, "申请人选择"),
    LAST_APPROVE_CHOOSE(3, "上一审批人选择"),
    TEMPLATE_SET(4, "模板指定"),
    ;

    private final Integer code;
    private final String desc;

    public Integer getCode() {
        return code;
    }

    public String getDesc() {
        return desc;
    }

    EnumDefaultApproveUserType(Integer code, String desc) {
        this.code = code;
        this.desc = desc;
    }


    public static EnumDefaultApproveUserType find(Integer code) {
        if (code == null) {
            return null;
        }
        return Arrays.stream(EnumDefaultApproveUserType.values())
                .parallel()
                .filter(e -> e.code
                        .equals(code))
                .findFirst()
                .orElse(null);
    }
}
